// This file is part of Substrate.

// Copyright (C) 2021 Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0

// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

//! Autogenerated weights for pallet_contracts
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0
//! DATE: 2021-04-23, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 128

// Executed Command:
// target/release/substrate
// benchmark
// --chain=dev
// --steps=50
// --repeat=20
// --pallet=pallet_contracts
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --heap-pages=4096
// --output=./frame/contracts/src/weights.rs
// --template=./.maintain/frame-weight-template.hbs


#![allow(unused_parens)]
#![allow(unused_imports)]

use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
use sp_std::marker::PhantomData;

/// Weight functions needed for pallet_contracts.
pub trait WeightInfo {
	fn on_initialize() -> Weight;
	fn on_initialize_per_trie_key(k: u32, ) -> Weight;
	fn on_initialize_per_queue_item(q: u32, ) -> Weight;
	fn instrument(c: u32, ) -> Weight;
	fn update_schedule() -> Weight;
	fn instantiate_with_code(c: u32, s: u32, ) -> Weight;
	fn instantiate(c: u32, s: u32, ) -> Weight;
	fn call(c: u32, ) -> Weight;
	fn claim_surcharge(c: u32, ) -> Weight;
	fn seal_caller(r: u32, ) -> Weight;
	fn seal_address(r: u32, ) -> Weight;
	fn seal_gas_left(r: u32, ) -> Weight;
	fn seal_balance(r: u32, ) -> Weight;
	fn seal_value_transferred(r: u32, ) -> Weight;
	fn seal_minimum_balance(r: u32, ) -> Weight;
	fn seal_tombstone_deposit(r: u32, ) -> Weight;
	fn seal_rent_allowance(r: u32, ) -> Weight;
	fn seal_block_number(r: u32, ) -> Weight;
	fn seal_now(r: u32, ) -> Weight;
	fn seal_rent_params(r: u32, ) -> Weight;
	fn seal_weight_to_fee(r: u32, ) -> Weight;
	fn seal_gas(r: u32, ) -> Weight;
	fn seal_input(r: u32, ) -> Weight;
	fn seal_input_per_kb(n: u32, ) -> Weight;
	fn seal_return(r: u32, ) -> Weight;
	fn seal_return_per_kb(n: u32, ) -> Weight;
	fn seal_terminate(r: u32, ) -> Weight;
	fn seal_terminate_per_code_kb(c: u32, ) -> Weight;
	fn seal_restore_to(r: u32, ) -> Weight;
	fn seal_restore_to_per_code_kb_delta(c: u32, t: u32, d: u32, ) -> Weight;
	fn seal_random(r: u32, ) -> Weight;
	fn seal_deposit_event(r: u32, ) -> Weight;
	fn seal_deposit_event_per_topic_and_kb(t: u32, n: u32, ) -> Weight;
	fn seal_set_rent_allowance(r: u32, ) -> Weight;
	fn seal_set_storage(r: u32, ) -> Weight;
	fn seal_set_storage_per_kb(n: u32, ) -> Weight;
	fn seal_clear_storage(r: u32, ) -> Weight;
	fn seal_get_storage(r: u32, ) -> Weight;
	fn seal_get_storage_per_kb(n: u32, ) -> Weight;
	fn seal_transfer(r: u32, ) -> Weight;
	fn seal_call(r: u32, ) -> Weight;
	fn seal_call_per_code_transfer_input_output_kb(c: u32, t: u32, i: u32, o: u32, ) -> Weight;
	fn seal_instantiate(r: u32, ) -> Weight;
	fn seal_instantiate_per_code_input_output_salt_kb(c: u32, i: u32, o: u32, s: u32, ) -> Weight;
	fn seal_hash_sha2_256(r: u32, ) -> Weight;
	fn seal_hash_sha2_256_per_kb(n: u32, ) -> Weight;
	fn seal_hash_keccak_256(r: u32, ) -> Weight;
	fn seal_hash_keccak_256_per_kb(n: u32, ) -> Weight;
	fn seal_hash_blake2_256(r: u32, ) -> Weight;
	fn seal_hash_blake2_256_per_kb(n: u32, ) -> Weight;
	fn seal_hash_blake2_128(r: u32, ) -> Weight;
	fn seal_hash_blake2_128_per_kb(n: u32, ) -> Weight;
	fn instr_i64const(r: u32, ) -> Weight;
	fn instr_i64load(r: u32, ) -> Weight;
	fn instr_i64store(r: u32, ) -> Weight;
	fn instr_select(r: u32, ) -> Weight;
	fn instr_if(r: u32, ) -> Weight;
	fn instr_br(r: u32, ) -> Weight;
	fn instr_br_if(r: u32, ) -> Weight;
	fn instr_br_table(r: u32, ) -> Weight;
	fn instr_br_table_per_entry(e: u32, ) -> Weight;
	fn instr_call(r: u32, ) -> Weight;
	fn instr_call_indirect(r: u32, ) -> Weight;
	fn instr_call_indirect_per_param(p: u32, ) -> Weight;
	fn instr_local_get(r: u32, ) -> Weight;
	fn instr_local_set(r: u32, ) -> Weight;
	fn instr_local_tee(r: u32, ) -> Weight;
	fn instr_global_get(r: u32, ) -> Weight;
	fn instr_global_set(r: u32, ) -> Weight;
	fn instr_memory_current(r: u32, ) -> Weight;
	fn instr_memory_grow(r: u32, ) -> Weight;
	fn instr_i64clz(r: u32, ) -> Weight;
	fn instr_i64ctz(r: u32, ) -> Weight;
	fn instr_i64popcnt(r: u32, ) -> Weight;
	fn instr_i64eqz(r: u32, ) -> Weight;
	fn instr_i64extendsi32(r: u32, ) -> Weight;
	fn instr_i64extendui32(r: u32, ) -> Weight;
	fn instr_i32wrapi64(r: u32, ) -> Weight;
	fn instr_i64eq(r: u32, ) -> Weight;
	fn instr_i64ne(r: u32, ) -> Weight;
	fn instr_i64lts(r: u32, ) -> Weight;
	fn instr_i64ltu(r: u32, ) -> Weight;
	fn instr_i64gts(r: u32, ) -> Weight;
	fn instr_i64gtu(r: u32, ) -> Weight;
	fn instr_i64les(r: u32, ) -> Weight;
	fn instr_i64leu(r: u32, ) -> Weight;
	fn instr_i64ges(r: u32, ) -> Weight;
	fn instr_i64geu(r: u32, ) -> Weight;
	fn instr_i64add(r: u32, ) -> Weight;
	fn instr_i64sub(r: u32, ) -> Weight;
	fn instr_i64mul(r: u32, ) -> Weight;
	fn instr_i64divs(r: u32, ) -> Weight;
	fn instr_i64divu(r: u32, ) -> Weight;
	fn instr_i64rems(r: u32, ) -> Weight;
	fn instr_i64remu(r: u32, ) -> Weight;
	fn instr_i64and(r: u32, ) -> Weight;
	fn instr_i64or(r: u32, ) -> Weight;
	fn instr_i64xor(r: u32, ) -> Weight;
	fn instr_i64shl(r: u32, ) -> Weight;
	fn instr_i64shrs(r: u32, ) -> Weight;
	fn instr_i64shru(r: u32, ) -> Weight;
	fn instr_i64rotl(r: u32, ) -> Weight;
	fn instr_i64rotr(r: u32, ) -> Weight;
}

/// Weights for pallet_contracts using the Substrate node and recommended hardware.
pub struct SubstrateWeight<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
	fn on_initialize() -> Weight {
		(3_610_000 as Weight)
			.saturating_add(T::DbWeight::get().reads(1 as Weight))
	}
	fn on_initialize_per_trie_key(k: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 2_000
			.saturating_add((2_307_000 as Weight).saturating_mul(k as Weight))
			.saturating_add(T::DbWeight::get().reads(1 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(k as Weight)))
	}
	fn on_initialize_per_queue_item(q: u32, ) -> Weight {
		(18_635_000 as Weight)
			// Standard Error: 8_000
			.saturating_add((33_246_000 as Weight).saturating_mul(q as Weight))
			.saturating_add(T::DbWeight::get().reads(1 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn instrument(c: u32, ) -> Weight {
		(36_950_000 as Weight)
			// Standard Error: 198_000
			.saturating_add((116_526_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(T::DbWeight::get().reads(1 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn update_schedule() -> Weight {
		(28_095_000 as Weight)
			.saturating_add(T::DbWeight::get().reads(1 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn instantiate_with_code(c: u32, s: u32, ) -> Weight {
		(230_039_000 as Weight)
			// Standard Error: 143_000
			.saturating_add((157_483_000 as Weight).saturating_mul(c as Weight))
			// Standard Error: 9_000
			.saturating_add((2_992_000 as Weight).saturating_mul(s as Weight))
			.saturating_add(T::DbWeight::get().reads(6 as Weight))
			.saturating_add(T::DbWeight::get().writes(4 as Weight))
	}
	fn instantiate(c: u32, s: u32, ) -> Weight {
		(203_983_000 as Weight)
			// Standard Error: 11_000
			.saturating_add((8_639_000 as Weight).saturating_mul(c as Weight))
			// Standard Error: 1_000
			.saturating_add((2_918_000 as Weight).saturating_mul(s as Weight))
			.saturating_add(T::DbWeight::get().reads(6 as Weight))
			.saturating_add(T::DbWeight::get().writes(3 as Weight))
	}
	fn call(c: u32, ) -> Weight {
		(198_905_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((3_913_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(2 as Weight))
	}
	fn claim_surcharge(c: u32, ) -> Weight {
		(132_586_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((4_732_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(4 as Weight))
	}
	fn seal_caller(r: u32, ) -> Weight {
		(179_629_000 as Weight)
			// Standard Error: 318_000
			.saturating_add((250_628_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_address(r: u32, ) -> Weight {
		(144_806_000 as Weight)
			// Standard Error: 71_000
			.saturating_add((251_588_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_gas_left(r: u32, ) -> Weight {
		(151_919_000 as Weight)
			// Standard Error: 90_000
			.saturating_add((243_733_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_balance(r: u32, ) -> Weight {
		(157_448_000 as Weight)
			// Standard Error: 211_000
			.saturating_add((559_875_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_value_transferred(r: u32, ) -> Weight {
		(145_161_000 as Weight)
			// Standard Error: 71_000
			.saturating_add((246_729_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_minimum_balance(r: u32, ) -> Weight {
		(147_920_000 as Weight)
			// Standard Error: 60_000
			.saturating_add((245_135_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_tombstone_deposit(r: u32, ) -> Weight {
		(141_105_000 as Weight)
			// Standard Error: 138_000
			.saturating_add((247_840_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_rent_allowance(r: u32, ) -> Weight {
		(147_393_000 as Weight)
			// Standard Error: 77_000
			.saturating_add((247_593_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_block_number(r: u32, ) -> Weight {
		(151_560_000 as Weight)
			// Standard Error: 92_000
			.saturating_add((242_469_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_now(r: u32, ) -> Weight {
		(145_917_000 as Weight)
			// Standard Error: 80_000
			.saturating_add((244_335_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_rent_params(r: u32, ) -> Weight {
		(150_399_000 as Weight)
			// Standard Error: 90_000
			.saturating_add((381_505_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_weight_to_fee(r: u32, ) -> Weight {
		(152_906_000 as Weight)
			// Standard Error: 418_000
			.saturating_add((486_338_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(6 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_gas(r: u32, ) -> Weight {
		(130_020_000 as Weight)
			// Standard Error: 48_000
			.saturating_add((120_792_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_input(r: u32, ) -> Weight {
		(142_031_000 as Weight)
			// Standard Error: 83_000
			.saturating_add((7_205_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_input_per_kb(n: u32, ) -> Weight {
		(151_770_000 as Weight)
			// Standard Error: 0
			.saturating_add((247_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_return(r: u32, ) -> Weight {
		(131_023_000 as Weight)
			// Standard Error: 69_000
			.saturating_add((4_823_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_return_per_kb(n: u32, ) -> Weight {
		(142_885_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((751_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_terminate(r: u32, ) -> Weight {
		(142_165_000 as Weight)
			// Standard Error: 100_000
			.saturating_add((99_133_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
			.saturating_add(T::DbWeight::get().writes((4 as Weight).saturating_mul(r as Weight)))
	}
	fn seal_terminate_per_code_kb(c: u32, ) -> Weight {
		(243_348_000 as Weight)
			// Standard Error: 6_000
			.saturating_add((8_560_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(T::DbWeight::get().reads(7 as Weight))
			.saturating_add(T::DbWeight::get().writes(5 as Weight))
	}
	fn seal_restore_to(r: u32, ) -> Weight {
		(171_766_000 as Weight)
			// Standard Error: 372_000
			.saturating_add((100_243_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().reads((4 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
			.saturating_add(T::DbWeight::get().writes((5 as Weight).saturating_mul(r as Weight)))
	}
	fn seal_restore_to_per_code_kb_delta(c: u32, t: u32, d: u32, ) -> Weight {
		(112_646_000 as Weight)
			// Standard Error: 142_000
			.saturating_add((7_922_000 as Weight).saturating_mul(c as Weight))
			// Standard Error: 142_000
			.saturating_add((3_590_000 as Weight).saturating_mul(t as Weight))
			// Standard Error: 1_255_000
			.saturating_add((3_716_501_000 as Weight).saturating_mul(d as Weight))
			.saturating_add(T::DbWeight::get().reads(8 as Weight))
			.saturating_add(T::DbWeight::get().reads((100 as Weight).saturating_mul(d as Weight)))
			.saturating_add(T::DbWeight::get().writes(7 as Weight))
			.saturating_add(T::DbWeight::get().writes((100 as Weight).saturating_mul(d as Weight)))
	}
	fn seal_random(r: u32, ) -> Weight {
		(152_470_000 as Weight)
			// Standard Error: 146_000
			.saturating_add((619_676_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(6 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_deposit_event(r: u32, ) -> Weight {
		(151_008_000 as Weight)
			// Standard Error: 167_000
			.saturating_add((899_677_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_deposit_event_per_topic_and_kb(t: u32, n: u32, ) -> Weight {
		(1_227_526_000 as Weight)
			// Standard Error: 2_767_000
			.saturating_add((586_284_000 as Weight).saturating_mul(t as Weight))
			// Standard Error: 545_000
			.saturating_add((247_578_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().reads((100 as Weight).saturating_mul(t as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
			.saturating_add(T::DbWeight::get().writes((100 as Weight).saturating_mul(t as Weight)))
	}
	fn seal_set_rent_allowance(r: u32, ) -> Weight {
		(142_734_000 as Weight)
			// Standard Error: 53_000
			.saturating_add((167_026_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_set_storage(r: u32, ) -> Weight {
		(21_198_000 as Weight)
			// Standard Error: 2_062_000
			.saturating_add((3_836_800_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().reads((100 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
			.saturating_add(T::DbWeight::get().writes((100 as Weight).saturating_mul(r as Weight)))
	}
	fn seal_set_storage_per_kb(n: u32, ) -> Weight {
		(589_829_000 as Weight)
			// Standard Error: 223_000
			.saturating_add((71_242_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(6 as Weight))
			.saturating_add(T::DbWeight::get().writes(2 as Weight))
	}
	fn seal_clear_storage(r: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 1_950_000
			.saturating_add((1_267_479_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().reads((100 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
			.saturating_add(T::DbWeight::get().writes((100 as Weight).saturating_mul(r as Weight)))
	}
	fn seal_get_storage(r: u32, ) -> Weight {
		(3_466_000 as Weight)
			// Standard Error: 1_248_000
			.saturating_add((920_416_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().reads((100 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_get_storage_per_kb(n: u32, ) -> Weight {
		(618_423_000 as Weight)
			// Standard Error: 231_000
			.saturating_add((153_218_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(6 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_transfer(r: u32, ) -> Weight {
		(76_247_000 as Weight)
			// Standard Error: 2_153_000
			.saturating_add((5_509_779_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().reads((100 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(2 as Weight))
			.saturating_add(T::DbWeight::get().writes((100 as Weight).saturating_mul(r as Weight)))
	}
	fn seal_call(r: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 8_294_000
			.saturating_add((11_951_311_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(6 as Weight))
			.saturating_add(T::DbWeight::get().reads((200 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
			.saturating_add(T::DbWeight::get().writes((100 as Weight).saturating_mul(r as Weight)))
	}
	fn seal_call_per_code_transfer_input_output_kb(c: u32, t: u32, i: u32, o: u32, ) -> Weight {
		(10_875_657_000 as Weight)
			// Standard Error: 253_000
			.saturating_add((392_140_000 as Weight).saturating_mul(c as Weight))
			// Standard Error: 105_395_000
			.saturating_add((3_581_966_000 as Weight).saturating_mul(t as Weight))
			// Standard Error: 33_000
			.saturating_add((59_352_000 as Weight).saturating_mul(i as Weight))
			// Standard Error: 35_000
			.saturating_add((79_149_000 as Weight).saturating_mul(o as Weight))
			.saturating_add(T::DbWeight::get().reads(206 as Weight))
			.saturating_add(T::DbWeight::get().writes(101 as Weight))
			.saturating_add(T::DbWeight::get().writes((101 as Weight).saturating_mul(t as Weight)))
	}
	fn seal_instantiate(r: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 31_795_000
			.saturating_add((21_908_561_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(6 as Weight))
			.saturating_add(T::DbWeight::get().reads((300 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(3 as Weight))
			.saturating_add(T::DbWeight::get().writes((300 as Weight).saturating_mul(r as Weight)))
	}
	fn seal_instantiate_per_code_input_output_salt_kb(c: u32, i: u32, o: u32, s: u32, ) -> Weight {
		(10_580_308_000 as Weight)
			// Standard Error: 611_000
			.saturating_add((875_153_000 as Weight).saturating_mul(c as Weight))
			// Standard Error: 86_000
			.saturating_add((62_540_000 as Weight).saturating_mul(i as Weight))
			// Standard Error: 86_000
			.saturating_add((83_080_000 as Weight).saturating_mul(o as Weight))
			// Standard Error: 86_000
			.saturating_add((350_970_000 as Weight).saturating_mul(s as Weight))
			.saturating_add(T::DbWeight::get().reads(207 as Weight))
			.saturating_add(T::DbWeight::get().writes(204 as Weight))
	}
	fn seal_hash_sha2_256(r: u32, ) -> Weight {
		(143_987_000 as Weight)
			// Standard Error: 90_000
			.saturating_add((232_215_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_hash_sha2_256_per_kb(n: u32, ) -> Weight {
		(762_075_000 as Weight)
			// Standard Error: 64_000
			.saturating_add((475_112_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_hash_keccak_256(r: u32, ) -> Weight {
		(145_456_000 as Weight)
			// Standard Error: 203_000
			.saturating_add((241_831_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_hash_keccak_256_per_kb(n: u32, ) -> Weight {
		(660_371_000 as Weight)
			// Standard Error: 30_000
			.saturating_add((342_147_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_hash_blake2_256(r: u32, ) -> Weight {
		(149_472_000 as Weight)
			// Standard Error: 101_000
			.saturating_add((212_899_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_hash_blake2_256_per_kb(n: u32, ) -> Weight {
		(643_371_000 as Weight)
			// Standard Error: 31_000
			.saturating_add((159_244_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_hash_blake2_128(r: u32, ) -> Weight {
		(147_732_000 as Weight)
			// Standard Error: 91_000
			.saturating_add((210_975_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn seal_hash_blake2_128_per_kb(n: u32, ) -> Weight {
		(684_085_000 as Weight)
			// Standard Error: 38_000
			.saturating_add((159_213_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	fn instr_i64const(r: u32, ) -> Weight {
		(25_332_000 as Weight)
			// Standard Error: 12_000
			.saturating_add((3_087_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64load(r: u32, ) -> Weight {
		(27_404_000 as Weight)
			// Standard Error: 22_000
			.saturating_add((136_046_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64store(r: u32, ) -> Weight {
		(27_422_000 as Weight)
			// Standard Error: 24_000
			.saturating_add((204_925_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_select(r: u32, ) -> Weight {
		(25_289_000 as Weight)
			// Standard Error: 16_000
			.saturating_add((12_375_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_if(r: u32, ) -> Weight {
		(25_278_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((11_447_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_br(r: u32, ) -> Weight {
		(25_283_000 as Weight)
			// Standard Error: 15_000
			.saturating_add((5_615_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_br_if(r: u32, ) -> Weight {
		(25_377_000 as Weight)
			// Standard Error: 20_000
			.saturating_add((13_248_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_br_table(r: u32, ) -> Weight {
		(25_318_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((14_962_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_br_table_per_entry(e: u32, ) -> Weight {
		(37_040_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((150_000 as Weight).saturating_mul(e as Weight))
	}
	fn instr_call(r: u32, ) -> Weight {
		(25_529_000 as Weight)
			// Standard Error: 114_000
			.saturating_add((91_613_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_call_indirect(r: u32, ) -> Weight {
		(33_242_000 as Weight)
			// Standard Error: 188_000
			.saturating_add((191_383_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_call_indirect_per_param(p: u32, ) -> Weight {
		(228_146_000 as Weight)
			// Standard Error: 4_000
			.saturating_add((3_917_000 as Weight).saturating_mul(p as Weight))
	}
	fn instr_local_get(r: u32, ) -> Weight {
		(44_304_000 as Weight)
			// Standard Error: 22_000
			.saturating_add((3_146_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_local_set(r: u32, ) -> Weight {
		(44_314_000 as Weight)
			// Standard Error: 17_000
			.saturating_add((3_474_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_local_tee(r: u32, ) -> Weight {
		(44_234_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((4_725_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_global_get(r: u32, ) -> Weight {
		(28_754_000 as Weight)
			// Standard Error: 20_000
			.saturating_add((7_898_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_global_set(r: u32, ) -> Weight {
		(28_737_000 as Weight)
			// Standard Error: 26_000
			.saturating_add((8_531_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_memory_current(r: u32, ) -> Weight {
		(27_338_000 as Weight)
			// Standard Error: 22_000
			.saturating_add((3_499_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_memory_grow(r: u32, ) -> Weight {
		(25_943_000 as Weight)
			// Standard Error: 299_000
			.saturating_add((2_094_164_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64clz(r: u32, ) -> Weight {
		(25_269_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((5_135_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64ctz(r: u32, ) -> Weight {
		(25_281_000 as Weight)
			// Standard Error: 16_000
			.saturating_add((5_069_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64popcnt(r: u32, ) -> Weight {
		(25_243_000 as Weight)
			// Standard Error: 9_000
			.saturating_add((5_809_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64eqz(r: u32, ) -> Weight {
		(25_259_000 as Weight)
			// Standard Error: 13_000
			.saturating_add((5_120_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64extendsi32(r: u32, ) -> Weight {
		(25_249_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((5_167_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64extendui32(r: u32, ) -> Weight {
		(25_247_000 as Weight)
			// Standard Error: 10_000
			.saturating_add((5_118_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i32wrapi64(r: u32, ) -> Weight {
		(25_285_000 as Weight)
			// Standard Error: 19_000
			.saturating_add((5_051_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64eq(r: u32, ) -> Weight {
		(25_312_000 as Weight)
			// Standard Error: 19_000
			.saturating_add((7_207_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64ne(r: u32, ) -> Weight {
		(25_311_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((6_982_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64lts(r: u32, ) -> Weight {
		(25_327_000 as Weight)
			// Standard Error: 19_000
			.saturating_add((7_009_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64ltu(r: u32, ) -> Weight {
		(25_318_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((7_180_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64gts(r: u32, ) -> Weight {
		(25_330_000 as Weight)
			// Standard Error: 13_000
			.saturating_add((7_065_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64gtu(r: u32, ) -> Weight {
		(25_284_000 as Weight)
			// Standard Error: 16_000
			.saturating_add((7_192_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64les(r: u32, ) -> Weight {
		(25_310_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((7_080_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64leu(r: u32, ) -> Weight {
		(25_262_000 as Weight)
			// Standard Error: 11_000
			.saturating_add((7_079_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64ges(r: u32, ) -> Weight {
		(25_295_000 as Weight)
			// Standard Error: 10_000
			.saturating_add((7_151_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64geu(r: u32, ) -> Weight {
		(25_326_000 as Weight)
			// Standard Error: 18_000
			.saturating_add((7_200_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64add(r: u32, ) -> Weight {
		(25_320_000 as Weight)
			// Standard Error: 23_000
			.saturating_add((7_020_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64sub(r: u32, ) -> Weight {
		(25_303_000 as Weight)
			// Standard Error: 15_000
			.saturating_add((7_189_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64mul(r: u32, ) -> Weight {
		(25_311_000 as Weight)
			// Standard Error: 16_000
			.saturating_add((7_054_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64divs(r: u32, ) -> Weight {
		(25_342_000 as Weight)
			// Standard Error: 10_000
			.saturating_add((12_860_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64divu(r: u32, ) -> Weight {
		(25_307_000 as Weight)
			// Standard Error: 17_000
			.saturating_add((12_162_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64rems(r: u32, ) -> Weight {
		(25_354_000 as Weight)
			// Standard Error: 12_000
			.saturating_add((12_855_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64remu(r: u32, ) -> Weight {
		(25_319_000 as Weight)
			// Standard Error: 16_000
			.saturating_add((11_982_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64and(r: u32, ) -> Weight {
		(25_351_000 as Weight)
			// Standard Error: 20_000
			.saturating_add((7_124_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64or(r: u32, ) -> Weight {
		(25_333_000 as Weight)
			// Standard Error: 20_000
			.saturating_add((7_060_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64xor(r: u32, ) -> Weight {
		(25_332_000 as Weight)
			// Standard Error: 13_000
			.saturating_add((7_080_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64shl(r: u32, ) -> Weight {
		(25_279_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((7_193_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64shrs(r: u32, ) -> Weight {
		(25_315_000 as Weight)
			// Standard Error: 13_000
			.saturating_add((7_157_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64shru(r: u32, ) -> Weight {
		(25_354_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((7_238_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64rotl(r: u32, ) -> Weight {
		(25_353_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((7_160_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64rotr(r: u32, ) -> Weight {
		(25_363_000 as Weight)
			// Standard Error: 16_000
			.saturating_add((7_192_000 as Weight).saturating_mul(r as Weight))
	}
}

// For backwards compatibility and tests
impl WeightInfo for () {
	fn on_initialize() -> Weight {
		(3_610_000 as Weight)
			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
	}
	fn on_initialize_per_trie_key(k: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 2_000
			.saturating_add((2_307_000 as Weight).saturating_mul(k as Weight))
			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(k as Weight)))
	}
	fn on_initialize_per_queue_item(q: u32, ) -> Weight {
		(18_635_000 as Weight)
			// Standard Error: 8_000
			.saturating_add((33_246_000 as Weight).saturating_mul(q as Weight))
			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn instrument(c: u32, ) -> Weight {
		(36_950_000 as Weight)
			// Standard Error: 198_000
			.saturating_add((116_526_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn update_schedule() -> Weight {
		(28_095_000 as Weight)
			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn instantiate_with_code(c: u32, s: u32, ) -> Weight {
		(230_039_000 as Weight)
			// Standard Error: 143_000
			.saturating_add((157_483_000 as Weight).saturating_mul(c as Weight))
			// Standard Error: 9_000
			.saturating_add((2_992_000 as Weight).saturating_mul(s as Weight))
			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
	}
	fn instantiate(c: u32, s: u32, ) -> Weight {
		(203_983_000 as Weight)
			// Standard Error: 11_000
			.saturating_add((8_639_000 as Weight).saturating_mul(c as Weight))
			// Standard Error: 1_000
			.saturating_add((2_918_000 as Weight).saturating_mul(s as Weight))
			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
	}
	fn call(c: u32, ) -> Weight {
		(198_905_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((3_913_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
	}
	fn claim_surcharge(c: u32, ) -> Weight {
		(132_586_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((4_732_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
	}
	fn seal_caller(r: u32, ) -> Weight {
		(179_629_000 as Weight)
			// Standard Error: 318_000
			.saturating_add((250_628_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_address(r: u32, ) -> Weight {
		(144_806_000 as Weight)
			// Standard Error: 71_000
			.saturating_add((251_588_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_gas_left(r: u32, ) -> Weight {
		(151_919_000 as Weight)
			// Standard Error: 90_000
			.saturating_add((243_733_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_balance(r: u32, ) -> Weight {
		(157_448_000 as Weight)
			// Standard Error: 211_000
			.saturating_add((559_875_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_value_transferred(r: u32, ) -> Weight {
		(145_161_000 as Weight)
			// Standard Error: 71_000
			.saturating_add((246_729_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_minimum_balance(r: u32, ) -> Weight {
		(147_920_000 as Weight)
			// Standard Error: 60_000
			.saturating_add((245_135_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_tombstone_deposit(r: u32, ) -> Weight {
		(141_105_000 as Weight)
			// Standard Error: 138_000
			.saturating_add((247_840_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_rent_allowance(r: u32, ) -> Weight {
		(147_393_000 as Weight)
			// Standard Error: 77_000
			.saturating_add((247_593_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_block_number(r: u32, ) -> Weight {
		(151_560_000 as Weight)
			// Standard Error: 92_000
			.saturating_add((242_469_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_now(r: u32, ) -> Weight {
		(145_917_000 as Weight)
			// Standard Error: 80_000
			.saturating_add((244_335_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_rent_params(r: u32, ) -> Weight {
		(150_399_000 as Weight)
			// Standard Error: 90_000
			.saturating_add((381_505_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_weight_to_fee(r: u32, ) -> Weight {
		(152_906_000 as Weight)
			// Standard Error: 418_000
			.saturating_add((486_338_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_gas(r: u32, ) -> Weight {
		(130_020_000 as Weight)
			// Standard Error: 48_000
			.saturating_add((120_792_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_input(r: u32, ) -> Weight {
		(142_031_000 as Weight)
			// Standard Error: 83_000
			.saturating_add((7_205_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_input_per_kb(n: u32, ) -> Weight {
		(151_770_000 as Weight)
			// Standard Error: 0
			.saturating_add((247_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_return(r: u32, ) -> Weight {
		(131_023_000 as Weight)
			// Standard Error: 69_000
			.saturating_add((4_823_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_return_per_kb(n: u32, ) -> Weight {
		(142_885_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((751_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_terminate(r: u32, ) -> Weight {
		(142_165_000 as Weight)
			// Standard Error: 100_000
			.saturating_add((99_133_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().reads((2 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes((4 as Weight).saturating_mul(r as Weight)))
	}
	fn seal_terminate_per_code_kb(c: u32, ) -> Weight {
		(243_348_000 as Weight)
			// Standard Error: 6_000
			.saturating_add((8_560_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(RocksDbWeight::get().reads(7 as Weight))
			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
	}
	fn seal_restore_to(r: u32, ) -> Weight {
		(171_766_000 as Weight)
			// Standard Error: 372_000
			.saturating_add((100_243_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().reads((4 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes((5 as Weight).saturating_mul(r as Weight)))
	}
	fn seal_restore_to_per_code_kb_delta(c: u32, t: u32, d: u32, ) -> Weight {
		(112_646_000 as Weight)
			// Standard Error: 142_000
			.saturating_add((7_922_000 as Weight).saturating_mul(c as Weight))
			// Standard Error: 142_000
			.saturating_add((3_590_000 as Weight).saturating_mul(t as Weight))
			// Standard Error: 1_255_000
			.saturating_add((3_716_501_000 as Weight).saturating_mul(d as Weight))
			.saturating_add(RocksDbWeight::get().reads(8 as Weight))
			.saturating_add(RocksDbWeight::get().reads((100 as Weight).saturating_mul(d as Weight)))
			.saturating_add(RocksDbWeight::get().writes(7 as Weight))
			.saturating_add(RocksDbWeight::get().writes((100 as Weight).saturating_mul(d as Weight)))
	}
	fn seal_random(r: u32, ) -> Weight {
		(152_470_000 as Weight)
			// Standard Error: 146_000
			.saturating_add((619_676_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_deposit_event(r: u32, ) -> Weight {
		(151_008_000 as Weight)
			// Standard Error: 167_000
			.saturating_add((899_677_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_deposit_event_per_topic_and_kb(t: u32, n: u32, ) -> Weight {
		(1_227_526_000 as Weight)
			// Standard Error: 2_767_000
			.saturating_add((586_284_000 as Weight).saturating_mul(t as Weight))
			// Standard Error: 545_000
			.saturating_add((247_578_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().reads((100 as Weight).saturating_mul(t as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes((100 as Weight).saturating_mul(t as Weight)))
	}
	fn seal_set_rent_allowance(r: u32, ) -> Weight {
		(142_734_000 as Weight)
			// Standard Error: 53_000
			.saturating_add((167_026_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_set_storage(r: u32, ) -> Weight {
		(21_198_000 as Weight)
			// Standard Error: 2_062_000
			.saturating_add((3_836_800_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().reads((100 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes((100 as Weight).saturating_mul(r as Weight)))
	}
	fn seal_set_storage_per_kb(n: u32, ) -> Weight {
		(589_829_000 as Weight)
			// Standard Error: 223_000
			.saturating_add((71_242_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
	}
	fn seal_clear_storage(r: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 1_950_000
			.saturating_add((1_267_479_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().reads((100 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes((100 as Weight).saturating_mul(r as Weight)))
	}
	fn seal_get_storage(r: u32, ) -> Weight {
		(3_466_000 as Weight)
			// Standard Error: 1_248_000
			.saturating_add((920_416_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().reads((100 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_get_storage_per_kb(n: u32, ) -> Weight {
		(618_423_000 as Weight)
			// Standard Error: 231_000
			.saturating_add((153_218_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_transfer(r: u32, ) -> Weight {
		(76_247_000 as Weight)
			// Standard Error: 2_153_000
			.saturating_add((5_509_779_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().reads((100 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
			.saturating_add(RocksDbWeight::get().writes((100 as Weight).saturating_mul(r as Weight)))
	}
	fn seal_call(r: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 8_294_000
			.saturating_add((11_951_311_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
			.saturating_add(RocksDbWeight::get().reads((200 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes((100 as Weight).saturating_mul(r as Weight)))
	}
	fn seal_call_per_code_transfer_input_output_kb(c: u32, t: u32, i: u32, o: u32, ) -> Weight {
		(10_875_657_000 as Weight)
			// Standard Error: 253_000
			.saturating_add((392_140_000 as Weight).saturating_mul(c as Weight))
			// Standard Error: 105_395_000
			.saturating_add((3_581_966_000 as Weight).saturating_mul(t as Weight))
			// Standard Error: 33_000
			.saturating_add((59_352_000 as Weight).saturating_mul(i as Weight))
			// Standard Error: 35_000
			.saturating_add((79_149_000 as Weight).saturating_mul(o as Weight))
			.saturating_add(RocksDbWeight::get().reads(206 as Weight))
			.saturating_add(RocksDbWeight::get().writes(101 as Weight))
			.saturating_add(RocksDbWeight::get().writes((101 as Weight).saturating_mul(t as Weight)))
	}
	fn seal_instantiate(r: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 31_795_000
			.saturating_add((21_908_561_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
			.saturating_add(RocksDbWeight::get().reads((300 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
			.saturating_add(RocksDbWeight::get().writes((300 as Weight).saturating_mul(r as Weight)))
	}
	fn seal_instantiate_per_code_input_output_salt_kb(c: u32, i: u32, o: u32, s: u32, ) -> Weight {
		(10_580_308_000 as Weight)
			// Standard Error: 611_000
			.saturating_add((875_153_000 as Weight).saturating_mul(c as Weight))
			// Standard Error: 86_000
			.saturating_add((62_540_000 as Weight).saturating_mul(i as Weight))
			// Standard Error: 86_000
			.saturating_add((83_080_000 as Weight).saturating_mul(o as Weight))
			// Standard Error: 86_000
			.saturating_add((350_970_000 as Weight).saturating_mul(s as Weight))
			.saturating_add(RocksDbWeight::get().reads(207 as Weight))
			.saturating_add(RocksDbWeight::get().writes(204 as Weight))
	}
	fn seal_hash_sha2_256(r: u32, ) -> Weight {
		(143_987_000 as Weight)
			// Standard Error: 90_000
			.saturating_add((232_215_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_hash_sha2_256_per_kb(n: u32, ) -> Weight {
		(762_075_000 as Weight)
			// Standard Error: 64_000
			.saturating_add((475_112_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_hash_keccak_256(r: u32, ) -> Weight {
		(145_456_000 as Weight)
			// Standard Error: 203_000
			.saturating_add((241_831_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_hash_keccak_256_per_kb(n: u32, ) -> Weight {
		(660_371_000 as Weight)
			// Standard Error: 30_000
			.saturating_add((342_147_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_hash_blake2_256(r: u32, ) -> Weight {
		(149_472_000 as Weight)
			// Standard Error: 101_000
			.saturating_add((212_899_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_hash_blake2_256_per_kb(n: u32, ) -> Weight {
		(643_371_000 as Weight)
			// Standard Error: 31_000
			.saturating_add((159_244_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_hash_blake2_128(r: u32, ) -> Weight {
		(147_732_000 as Weight)
			// Standard Error: 91_000
			.saturating_add((210_975_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn seal_hash_blake2_128_per_kb(n: u32, ) -> Weight {
		(684_085_000 as Weight)
			// Standard Error: 38_000
			.saturating_add((159_213_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	fn instr_i64const(r: u32, ) -> Weight {
		(25_332_000 as Weight)
			// Standard Error: 12_000
			.saturating_add((3_087_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64load(r: u32, ) -> Weight {
		(27_404_000 as Weight)
			// Standard Error: 22_000
			.saturating_add((136_046_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64store(r: u32, ) -> Weight {
		(27_422_000 as Weight)
			// Standard Error: 24_000
			.saturating_add((204_925_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_select(r: u32, ) -> Weight {
		(25_289_000 as Weight)
			// Standard Error: 16_000
			.saturating_add((12_375_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_if(r: u32, ) -> Weight {
		(25_278_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((11_447_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_br(r: u32, ) -> Weight {
		(25_283_000 as Weight)
			// Standard Error: 15_000
			.saturating_add((5_615_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_br_if(r: u32, ) -> Weight {
		(25_377_000 as Weight)
			// Standard Error: 20_000
			.saturating_add((13_248_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_br_table(r: u32, ) -> Weight {
		(25_318_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((14_962_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_br_table_per_entry(e: u32, ) -> Weight {
		(37_040_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((150_000 as Weight).saturating_mul(e as Weight))
	}
	fn instr_call(r: u32, ) -> Weight {
		(25_529_000 as Weight)
			// Standard Error: 114_000
			.saturating_add((91_613_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_call_indirect(r: u32, ) -> Weight {
		(33_242_000 as Weight)
			// Standard Error: 188_000
			.saturating_add((191_383_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_call_indirect_per_param(p: u32, ) -> Weight {
		(228_146_000 as Weight)
			// Standard Error: 4_000
			.saturating_add((3_917_000 as Weight).saturating_mul(p as Weight))
	}
	fn instr_local_get(r: u32, ) -> Weight {
		(44_304_000 as Weight)
			// Standard Error: 22_000
			.saturating_add((3_146_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_local_set(r: u32, ) -> Weight {
		(44_314_000 as Weight)
			// Standard Error: 17_000
			.saturating_add((3_474_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_local_tee(r: u32, ) -> Weight {
		(44_234_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((4_725_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_global_get(r: u32, ) -> Weight {
		(28_754_000 as Weight)
			// Standard Error: 20_000
			.saturating_add((7_898_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_global_set(r: u32, ) -> Weight {
		(28_737_000 as Weight)
			// Standard Error: 26_000
			.saturating_add((8_531_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_memory_current(r: u32, ) -> Weight {
		(27_338_000 as Weight)
			// Standard Error: 22_000
			.saturating_add((3_499_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_memory_grow(r: u32, ) -> Weight {
		(25_943_000 as Weight)
			// Standard Error: 299_000
			.saturating_add((2_094_164_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64clz(r: u32, ) -> Weight {
		(25_269_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((5_135_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64ctz(r: u32, ) -> Weight {
		(25_281_000 as Weight)
			// Standard Error: 16_000
			.saturating_add((5_069_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64popcnt(r: u32, ) -> Weight {
		(25_243_000 as Weight)
			// Standard Error: 9_000
			.saturating_add((5_809_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64eqz(r: u32, ) -> Weight {
		(25_259_000 as Weight)
			// Standard Error: 13_000
			.saturating_add((5_120_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64extendsi32(r: u32, ) -> Weight {
		(25_249_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((5_167_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64extendui32(r: u32, ) -> Weight {
		(25_247_000 as Weight)
			// Standard Error: 10_000
			.saturating_add((5_118_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i32wrapi64(r: u32, ) -> Weight {
		(25_285_000 as Weight)
			// Standard Error: 19_000
			.saturating_add((5_051_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64eq(r: u32, ) -> Weight {
		(25_312_000 as Weight)
			// Standard Error: 19_000
			.saturating_add((7_207_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64ne(r: u32, ) -> Weight {
		(25_311_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((6_982_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64lts(r: u32, ) -> Weight {
		(25_327_000 as Weight)
			// Standard Error: 19_000
			.saturating_add((7_009_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64ltu(r: u32, ) -> Weight {
		(25_318_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((7_180_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64gts(r: u32, ) -> Weight {
		(25_330_000 as Weight)
			// Standard Error: 13_000
			.saturating_add((7_065_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64gtu(r: u32, ) -> Weight {
		(25_284_000 as Weight)
			// Standard Error: 16_000
			.saturating_add((7_192_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64les(r: u32, ) -> Weight {
		(25_310_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((7_080_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64leu(r: u32, ) -> Weight {
		(25_262_000 as Weight)
			// Standard Error: 11_000
			.saturating_add((7_079_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64ges(r: u32, ) -> Weight {
		(25_295_000 as Weight)
			// Standard Error: 10_000
			.saturating_add((7_151_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64geu(r: u32, ) -> Weight {
		(25_326_000 as Weight)
			// Standard Error: 18_000
			.saturating_add((7_200_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64add(r: u32, ) -> Weight {
		(25_320_000 as Weight)
			// Standard Error: 23_000
			.saturating_add((7_020_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64sub(r: u32, ) -> Weight {
		(25_303_000 as Weight)
			// Standard Error: 15_000
			.saturating_add((7_189_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64mul(r: u32, ) -> Weight {
		(25_311_000 as Weight)
			// Standard Error: 16_000
			.saturating_add((7_054_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64divs(r: u32, ) -> Weight {
		(25_342_000 as Weight)
			// Standard Error: 10_000
			.saturating_add((12_860_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64divu(r: u32, ) -> Weight {
		(25_307_000 as Weight)
			// Standard Error: 17_000
			.saturating_add((12_162_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64rems(r: u32, ) -> Weight {
		(25_354_000 as Weight)
			// Standard Error: 12_000
			.saturating_add((12_855_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64remu(r: u32, ) -> Weight {
		(25_319_000 as Weight)
			// Standard Error: 16_000
			.saturating_add((11_982_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64and(r: u32, ) -> Weight {
		(25_351_000 as Weight)
			// Standard Error: 20_000
			.saturating_add((7_124_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64or(r: u32, ) -> Weight {
		(25_333_000 as Weight)
			// Standard Error: 20_000
			.saturating_add((7_060_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64xor(r: u32, ) -> Weight {
		(25_332_000 as Weight)
			// Standard Error: 13_000
			.saturating_add((7_080_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64shl(r: u32, ) -> Weight {
		(25_279_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((7_193_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64shrs(r: u32, ) -> Weight {
		(25_315_000 as Weight)
			// Standard Error: 13_000
			.saturating_add((7_157_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64shru(r: u32, ) -> Weight {
		(25_354_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((7_238_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64rotl(r: u32, ) -> Weight {
		(25_353_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((7_160_000 as Weight).saturating_mul(r as Weight))
	}
	fn instr_i64rotr(r: u32, ) -> Weight {
		(25_363_000 as Weight)
			// Standard Error: 16_000
			.saturating_add((7_192_000 as Weight).saturating_mul(r as Weight))
	}
}
